A multi-tenancy software architecture can include a single instance of a software application that runs on a server and serves multiple tenants. A tenant is a group of users who share a common access to the software instance. In a multitenant architecture, the software application can be designed to provide every tenant a dedicated share of the instance—including tenant-specific data, configuration, user management, and tenant-specific functionality. Multi-tenancy can be used in cloud computing.